!===========Programa que faz a mudança de base de um número============

PROGRAM exec07

!======================================================================

IMPLICIT NONE

!==============================Variáveis===============================

      INTEGER :: M, q, resto, aux, I, resul

!======================Inicializa as variáveis=========================

      q = -1
      M = -1
      I = 0
      resul = 0

!===========================Leitura dos dados==========================

      DO WHILE (M<=0)
            WRITE(*,*) 'Entre com um número inteiro real e positivo'
            READ(*,*) M
      END DO 
      DO WHILE (q<=0)
            WRITE(*,*) 'Entre com a base para a qual deseja converter'
            READ(*,*) q
      END DO 

!=====================Faz as divisões sucessivas======================

      aux = M
      DO WHILE (resto /= 0 .OR. aux > q)
            resto = MOD(aux,q)
            aux = aux / q
            resul = resul + resto*10**(I)
            I = I + 1
      END DO

!=========================Exibe o resultado============================

      WRITE(*,*) 'O número', M,'na base', q, 'é:', resul

!======================================================================

END PROGRAM exec07
